﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace browser4gp.core.Plugin
{

    /// <summary>
    /// Metadata per i plugin
    /// </summary>
    public interface IBrowserPluginMetadata
    {

        /// <summary>
        /// Nome del plugin
        /// </summary>
        string Name { get; }

        /// <summary>
        /// Descrizione del plugin
        /// </summary>
        string Description { get; }

        /// <summary>
        /// Nome dell'oggetto javascript con cui si interfaccia
        /// </summary>
        string JavascriptObjectName { get; }

        /// <summary>
        /// Versione (Major)
        /// </summary>
        [DefaultValue(1)]
        int MajorVersion { get; }

        /// <summary>
        /// Versione (Minor)
        /// </summary>
        [DefaultValue(0)]
        int MinorVersion { get; }

        /// <summary>
        /// Sito di riferimento
        /// </summary>
        // Uri Website { get; }



    }


    /// <summary>
    /// Proprietà esposte dai metadata dei plugin
    /// </summary>
    public sealed class BrowserPluginMetadataProperties
    {

        public const string Name = "Name";

        public const string Description = "Description";

        public const string MajorVersion = "MajorVersion";

        public const string MinorVersion = "MinorVersion";

        public const string JavascriptObjectName = "JavascriptObjectName";
    }
}
